第一章:概述(古典密码算法)

您所在的位置:网站首页 i h k c e c n组成单词 第一章:概述(古典密码算法)

第一章:概述(古典密码算法)

2023-05-22 08:04| 来源: 网络整理| 查看: 265

置换算法单表替换密码算法多表代替密码算法 置换(Permutation)密码 对明文字符或者字符组进行位置移动的密码明文的字母保持相同,但顺序被打乱了。例如:ATTACKATDAWN(attack at dawn) 黎明发起攻击可以把它的奇数位和偶数位分开组成一个单词:ATCADW TAKTAN ,这两个单词凑到一起,就成为了ATCADWTAKTAN,这样在即使敌手捕获到了明文,也无从分析出密文。 代替密码 代替(Substitution)密码构造一个或者多个密文文字表,然后用密文字母表中的字母或者字母组来代替明文字母或者字母组,各字母或者字母组的相对位置不变,但是其本身的值改变了。代替密码分为单表代替密码和多表代替密码

字母与数字的转换

代替密码算法针对英文字母进行处理。首先将26个英文字母与十进制数字中的0~25依次对应,如下表所示,而这里的数字的加法和乘法都定义为模26的加法和乘法。在这里插入图片描述 单表代替密码

单表代替密码可分为:

加法密码乘法密码仿射密码

依次介绍: 加法密码

y=(x+k)mod26明文:x密文:y密钥:k(有26重选择)解密:x=(y-k)mod26

凯撒密码(Caesar)就是一种加法密码(k=3) 在这里插入图片描述

设明文为:LOVE则密文为:ORYH

乘法密码

y=kx(mod26)明文:x密文:y密钥:k(有12种选择)解密:x=k-1y(mod26)条件:(k,26)=1(也就是说k与26的公共约数只有1,叫做k与26互素)

通过上面的介绍,乘法密码的关键在于计算k-1:

方法:扩展的欧几里得算法若(m,n)=1,则存在整数k1,k2,使得k1m+k2n=1这里k1就是:m-1 mod n注意k1要为整数

那么在0~25之中,只有12个数字是和26互素的。

通过以上的分析,加法和乘法各有好处,能不能把二者结合起来使用呢?

仿射密码

加密函数:y=(ax+b) mod 26密钥:a,b解密函数:x=a-1(y-b)(mod26)好处就是增大了密钥量,这个时候a有12种选择,b有26种选择,密钥量扩展到了312个。

单表替代的统计分析:

单表替代的特点就是相同的明文被加密成相同的密文,这使得统计分析成为了可能。原因就是,我们所使用的英文字母,它出现的频率是有规律的,只要能够收集到足够多的密文,通过统计就能够很容易的进行密码的破译了。比如:常见的字母e出现的频率为0.127,收集到足够多的信息之后,我们统计字母中出现频率接近0.127的字母,很大概率就是e了。在这里插入图片描述怎么解决呢? 多表代替密码算法

Vigenera(维吉尼亚)密码 如图:在这里插入图片描述

大概思想:

就是把26个英文字母,依次按照加法密码的方式,第一行加0,依次往下一直加到25,列成一个表。当然这个顺序是可以打乱的,只要加密与解密者清楚,而敌手不知道即可。

然后选择一个词组作为密钥,比如hold。

那么我们对一组明文进行加密时,可以把hold作为参照去寻找密文。

比如:我要加密:this is the plain text(写成明文就是thisistheplaintext),以hold作为密钥,如下图:在这里插入图片描述

那么去加密密文,就可以按照这个表,寻找所对应的字母,比如t 它在第 h 行对应的是A,h在第 o 行对应的是V,以此类推,如图:在这里插入图片描述

那么对应的密文就可以唯一确定了,如图:在这里插入图片描述

h在第一次加密的时候,加密成了V,在第二次加密的时候,加密成了k。这就避免了敌手通过统计学分析来破译密文。

由于密钥是一个单词,所以它可以有很多很多种可能性。

用数学语言描述多表代换密码

多表代换密码首先将明文M分为由n个字母构成的分组M1,M2,……Mj,对每个分组Mi的加密为:Ci=(A*Mi+B) mod N,i=1,2…,j其中(A,B)是密钥,A是n*n的可逆矩阵,满足gcd (|A|,N)=1(|A|是行列式),B=(B1,B2,…,Bn)T,C=(C1,C2,…,Cn)T,Mi=(m1,m2,…,mn)T对密文分组Ci的解密为:Mi=(A-1(Ci-B)) mod N,i=1,2,…,j

例题如下:在这里插入图片描述

表1-2就是上图的Vigenera(维吉尼亚)密码表

在这里插入图片描述

做这些题,很吃线性代数的知识,比如行列式的逆 mod 26的时候,在求该行列式的逆如果使用行变换就不可以,必须利用AA*=|A|这个公式,从而A-1= A ∗ ∣ A ∣ \frac{A^*}{|A|} ∣A∣A∗​

加密完之后,就需要解密了: 在这里插入图片描述 在这里插入图片描述注意这里A-1的求法:

在这里插入图片描述 要好好学线代了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3